package net.pimpas.executor.serviceprovider;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.ThreadFactory;

import net.pimpas.core.configuration.exception.ConfigurationException;
import net.pimpas.core.serviceprovider.ServiceProvider;
import net.pimpas.executor.ExecutorThreadType;

public interface ExecutorServiceProvider extends ServiceProvider, ExecutorService {
	
	public void configure( ExecutorThreadType type ) throws ConfigurationException;
	public void configure( ExecutorThreadType type, ThreadFactory threadFactory ) throws ConfigurationException;
	public void configure( ExecutorThreadType type, int number ) throws ConfigurationException;
	public void configure( ExecutorThreadType type, int number, ThreadFactory threadFactory )
		throws ConfigurationException;
	
	public ExecutorThreadType getThreadType( );
	
}